package com.xyc.springcloud.config;

import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

@Configuration
public class ConfigBean {
    //配置负载均衡实现restTemplate

    /*
    IRule
    RoundRobinRule 轮询----------默认
    RandomRule 随机
    AvailabilityFilteringRule 先过滤，跳闸，先访问故障，对其余的进行轮询
    RetryRule 先轮询获取服务，如果服务获取失败，则在指定的时间内重试
     */

    @LoadBalanced
    @Bean
    public RestTemplate getrestTemplate() {
        return new RestTemplate();
    }

    @Bean
    public IRule myRule() { // 使用随机
        return new RandomRule();
    }
}
